/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//		File Name		:		CJCEvent.cpp
//
//		Author			:		Vindicated Games
//
//		Purpose			:		A header for all functions and members of the Jackie Chan Event Object
//
//		Dates			:		Written( Feb 19, 2011 ) by Vindicated Games		LastUpdate( Feb 19, 2011  ) by Vindicated Games 
//	
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef CJCEVENT_H_
#define CJCEVENT_H_
#include <windows.h>
#include <string>
#include "../Game Objects/CBaseObject.h"
using std::string;


enum EventType{ EVENT_NULL, EVENT_DOOR, EVENT_CHIPPER, EVENT_CRANE, EVENT_CAR, EVENT_COUNT };

class CJCEvent : public CBaseObject
{

private:


	float m_fPosX;
	float m_fPosY;

	int m_nWidth;
	int m_nHeight;
	int m_nType;
	int ID;

	int ActivationKey;

	bool m_bInRadius;

	CBaseObject* m_pEnemy;

	string Trigger;
	/*CAnimation* m_pDynAni;*/

	CJCEvent(const CJCEvent& copy);
	CJCEvent& operator=(const CJCEvent& assign);


public:

	CJCEvent();
	~CJCEvent();

	void Render();
	void Update( float fElapsedTime);

	///////////////////////////
	//Accessors and Modifiers//
	///////////////////////////
	//Accessors
	///////////////////////////
	float GetPosX()				{return m_fPosX; }
	float GetPosY()				{return m_fPosY; }
	int GetHeight()				{return m_nHeight; }
	int GetWidth()				{return m_nWidth; }
	int GetType()				{return m_nType; }
	string GetTrigger()			{return Trigger; }
	/*CBaseObject* GetEnemy		{return m_pEnemy; }*/
	/*CAnimation* GetAnimation	{return m_pDynAni; }*/
	RECT GetRect();
	bool CheckCollision( IBaseInterface* pBase );

	//Mutators
	void SetPosX(float NewPosX)		{m_fPosX = NewPosX; }
	void SetPosY(float NewPosY)		{m_fPosY = NewPosY; }
	void SetHeight(int newWidth)		{m_nWidth = newWidth; }
	void SetWidth(int newHeight)		{m_nHeight= newHeight; }
	void SetType(int newType )			{m_nType = newType; }
	void SetTrigger( string newTrigger)	{Trigger = newTrigger;}
	//void SetEnemy(CBaseObject* pEnemy);
	void SendTrigger();










};


#endif